% ------------------------------------------------------------------------
\chapter{Introdução}
\label{cap:intro}
% ------------------------------------------------------------------------

  A união entre telefonia móvel e a Internet abriu um novo cenário para o
mercado de serviços móveis. Nesse novo cenário, o modelo de negócio passou a
considerar a participação de novos atores na cadeia de valor, como por exemplo,
provedores de serviço e provedores de conteúdo,
\cite{partnership, MobileBusinessModel}.

  Operadoras de telefonia são as responsáveis pela infraestrutura e tecnologias
de comunicação, enquanto novos serviços e entrega de conteúdo são oferecidos
pelos parceiros, sendo, cada parceiro, especializado em um tipo de serviço ou
conteúdo, tais como, jogos, entretenimento, notícias, entre outros.

  Para suportar esse novo modelo de negócio, o \textit{Thirdy Generation
Partnership} (3GPP) criou a arquitetura \textit{IP Multimedia Subsystem} (IMS),
\cite{3G-IMS}.

  A Arquitetura IMS define uma série de entidades e funcionalidades, tais como
gerenciamento de sessão e roteamento, base de dados com informações dos
usuários, servidores de aplicação, funções de interconexão, suporte e tarifação.
Adicionalmente, a arquitetura IMS define um conjunto de protocolos, tais como
\textit{Session Initiation Protocol} (SIP), \textit{Session Description
Protocol} (SDP), \textit{Real-time Transport Protocol} (RTP),
\textit{Diameter}, entre outros, cada um com características e finalidades
específicas.  O principal protocolo utilizado no controle de sessão é o SIP,
\cite{rfc3261}, responsável pelo estabelecimento, manutenção e finalização de
sessões multimídia. 

   Apesar de estabelecer responsabilidades bem definidas em termos de elementos
e suas funcionalidades, a arquitetura IMS apresenta algumas características
centralizadas, as quais afetam o desempenho em cenários de larga escala.

   O objeto de pesquisa desta tese é identificar tecnologias de rede e sistemas
distribuídos que possibilitem a decentralização da arquitetura IMS, em
especial, seus componentes responsáveis pelo gerenciamento de sessão, e propor
uma arquitetura escalável e tolerante a falhas, sem que haja perda das
funcionalidades especificadas pelo 3GPP.

%%----------------------------------------------------------------------------
% Motivação
%%
\section{Motivação}

  Conforme apresentado nas especificações \cite{TS23218}, \cite{TS23228} e
\cite{TS24229}, e discutido em \cite{3G-IMS}, \cite{3G-IMS-Concepts}, 
\cite{IMSAppServer} e \cite{IMSNetArc}, um dos principais componentes da
arquitetura IMS é o \textit{Call Session Control Function}(CSCF), responsável pelo
gerenciamento de sessão. O CSCF é composto por três entidades, o \textit{Serving Call
Session Control Function} (S-CSCF), o \textit{Proxy Call Session Control Function}
(P-CSCF) e o \textit{Interrogate Call Session Control Function} (I-CSCF), os quais se
comunicam através do protocolo SIP.

  Conforme discutido em \cite{IMSTrafficModel}, as operações de registro e estabelecimento
de sessão na arquitetura IMS são muito complexas, e ampliam as deficiências do protocolo
SIP, uma vez que outros elementos são adicionados à rede e trocam mensagens SIP entre si. 

  Nos últimos anos, alguns estudos detectaram degradação de desempenho no
protocolo SIP quando utilizado em redes IMS, o qual ocorre em função na natureza
centralizada do servidor de registro, e na carga do elemento S-CSCF, causada
pelo mecanismo de renovação de registro utilizados por dispositivos em redes IMS
\cite{PerformanceIMSSignalingPlane} \cite{PerformanceSIPRequests}
\cite{SIPTraffic} \cite{perfModelingEvalIMS} \cite{QPN-IMS}.

  \cite{PerformanceIMSSignalingPlane} concluiu que o atraso no processamento
de requisições ocorre no S-CSCF, e ainda argumenta que para otimizar o
processamento nesse elemento é necessário um projeto de rede IMS eficiente,
diferente do tradicional modelo centralizado.

  Em \cite{PerformanceSIPRequests} as requisições SIP foram separadas em duas
categorias: (i) \textit{system-triggered}, requisições geradas
automaticamente pelos dispositivos - \textit{User Equipments} (UE), e.g, requisições de
registro na rede; e (ii) \textit{user-triggered}, requisições iniciadas a partir da
interação do usuário, e.g, requisição de estabelecimento de sessão. A conclusão foi que o
principal problema de degradação de desempenho ocorre nas operações de registro em função
da sobrecarga no S-CSCF.

  O mesmo problema descrito anteriormente foi estudado por \cite{SIPTraffic}, o
qual identificou que 60\% das requisições recebidas pelos servidores SIP são
requisições de registro na rede. Adicionalmente, identificou-se que esse
comportamento ocorre em função do envio de requisições periódicas de renovação
registro.

  \cite{perfModelingEvalIMS} utilizou o modelo de filas \textit{central server
queuing model} para medir a taxa de utilização dos servidores na arquitetura
IMS. Os resultados mostraram que a taxa de utilização do S-CSCF foi de 98\%,
enquanto o P-CSCF e o I-CSCF permaneceram abaixo dos 37\%, ou seja, uma alta
taxa de utilização do servidor responsável pelo S-CSCF e uma subutilização dos
servidores responsáveis pelo I-CSCF e P-CSCF. Esse comportamento causa uma queda
acentuada de desempenho durante o estabelecimento de sessões.

  \cite{QPN-IMS} utilizou \textit{Queuing Petri Nets} (QPN) para analisar o comportamento
do protocolo SIP em redes IMS. Os resultados para uma taxa de chegada em torno de 50.000
requisições de estabelecimento de sessão por hora e 5.000 requisições de registro por
hora, mostraram que a taxa de utilização de cada servidor permaneceu abaixo dos 35\%,
sendo o S-CSCF com a maior delas, 34,2\%. Na simulação com taxas de chegada
acima de 140.000 requisições por hora, o S-CSCF atingiu acima de 90\% de utilização,
resultando em uma queda significativa de desempenho. Adicionalmente, foi observado que o
I-CSCF permaneceu abaixo de 15\% de utilização, ou seja, uma sobrecarga no S-CSCF e uma
subutilização de recurso no I-CSCF.
  
  Considerando o crescente cenário de utilização de serviços em dispositivos
móveis conectados a redes IP, é fundamental que haja uma arquitetura 
descentralizada e escalável para as redes IMS, bem como uma arquitetura de software 
flexível para implementação de suas funcionalidades.

%%----------------------------------------------------------------------------
% Justificativas
%%
\section{Justificativas}

   Conforme já mencionado, a convergência entre telefonia móvel e a Internet
abriu um novo cenário para o mercado de serviços móveis, agregando os
provedores de serviços e conteúdo à cadeia de valor. 

   Um dos pontos principais desse novo modelo é o gerenciamento de transações
em tempo real. Além das operadoras de telefonia, provedores de serviços e
conteúdo podem definir suar próprias regras de acesso, por exemplo, operadoras
de telefonia podem oferecer desconto a determinados grupos de usuários quando
acessando conteúdo de provedores específicos, enquanto oferecem  banda
diferenciada para outro grupo de usuários durante um determinado período. 

   Esse cenário complexo de execução e gerenciamento requer uma infraestrutura de rede
capaz de suportar, sem perda de desempenho, a demanda crescente por serviços móveis
baseados em redes IP.

   A arquitetura proposta neste trabalho prevê a decentralização total dos
elementos responsável pelo gerenciamento de sessão definidos na arquitetura
IMS, utilizando como base o modelo de programação paralela denominado Espaço de Tuplas.

  Em ambientes distribuídos clássicos, a comunicação entre processos ocorre
através de canais formados por pares de elementos, \cite{Coulouris}. O
paradigma de espaço de tuplas é fundamentalmente diferente, já que a comunicação
entre processos ocorre unicamente através do espaço de tuplas, ou seja, tuplas
são produzidas por um processo produtor para um processo consumidor
identificado, encapsulando-se a informação do destino dentro da própria tupla,
\cite{GenerativeComm}. 

  Adicionalmente, a arquitetura adota redes P2P estruturadas baseadas em
\textit{Distributed Hash Table} (DHT) como base para o espaço de tuplas. Essa
abordagem permitira adicionar novos Servidores IMS na rede de forma simples, além de
prover um eficiente protocolo para localização de tuplas.


%%----------------------------------------------------------------------------
% Objetivos
%
\section{Objetivos}
\label{sec:objetivos}

  O objetivo principal deste trabalho é a definição de uma arquitetura
descentralizada para redes IMS, mais especificamente para implementação dos 
componentes responsáveis pelo controle e gerenciamento de sessão, seguindo o
paradigma baseado em espaço de tuplas, construído sobre redes P2P. Adicionalmente,
validar tal arquitetura sobre aspectos de desempenho e escalabilidade através de
modelagem e simulação por redes de petri coloridas - \textit{Colored Petri Nets} (CPN).


  Do objetivo geral, podemos desmembrar em três objetivos específicos, detalhados
a seguir.

  \begin{description}
   \item [Definição de uma arquitetura distribuída para redes IMS. ] Criar uma
arquitetura descentralizada para redes IMS com base no paradigma de espaço de
tuplas, construído sobre redes P2P. Definir a arquitetura de software para
implementação dos componentes IMS com base no modelo descentralizado.
   
   \item [Definição de um modelo de execução distribuído do protocolo SIP.]
Transformar um modelo baseado no paradigma requisição/resposta com controle
centralizado, característico do protocolo SIP, para um modelo descentralizado, 
onde a comunicação entre elementos (processos) pode ocorrer de forma
desconectada e independente do tempo.
   
   \item [Validação Funcional e Análise de Desempenho. ] Criar modelos
utilizando Redes de Petri Coloridas para análise funcional baseada em 
espaço de estado e analise de desempenho através de simulação.

  \end{description}

%%----------------------------------------------------------------------------
% Metodologia
%
\section{Metodologia}

  A \textbf{primeira etapa} da pesquisa consistiu na análise da arquitetura IMS
e dos requisitos através de suas especificações, \cite{TS23218}, \cite{TS23228},
\cite{TS24229}, \cite{TS22228} e \cite{TS23221}, e de referências bibliográficas
\cite{3G-IMS}, \cite{3G-IMS-Concepts}, \cite{IMSAppServer} e \cite{IMSNetArc}. 

  A \textbf{segunda etapa} consistiu de estudos aprofundados sobre os potenciais
problemas de desempenho da arquitetura IMS e o protocolo SIP em ambientes de
larga escala, conforme discutido em \cite{PerformanceIMSSignalingPlane}, 
\cite{PerformanceSIPRequests}, \cite{SIPTraffic}, \cite{perfModelingEvalIMS} e
\cite{QPN-IMS}

  A \textbf{terceira etapa} consistiu na definição da arquitetura
descentralizada e da proposta de mudança de implementação do protocolo SIP. A
ideia de adotar o modelo de espaço de tuplas se deu a partir do conhecimento da
especificação JavaSpace\texttrademark \cite{JavaSpacesBook} e \cite{Jini}, e do
trabalho \cite{DSMMobileGrids} que utiliza espaço de tuplas para implementar
grades computacionais móveis.

  A \textbf{quarta etapa} consistiu em um estudo aprofundado de modelagem e simulação
baseada em redes de petri coloridas, e na definição de modelos CPN para a arquitetura
proposta.

  Por fim, a \textbf{quinta etapa} consistiu na definição de métricas, simulação dos
modelos CPN e análise dos resultados.


%%----------------------------------------------------------------------------
% Contribuições
%
\section{Contribuições}

  Considerando a utilização de espaço de tuplas como uma nova abordagem para
implementação de protocolos de rede, este trabalho apresenta a seguintes contribuições
inéditas:

  \begin{enumerate}
  
    \item mudança de paradigma na implementação do protocolo SIP, saindo do
modelo tradicional baseado em requisição/resposta para o modelo de comunicação
generativa baseado em espaço de tuplas; 

    \item definição de uma arquitetura distribuída para redes IMS com
base no paradigma de espaço de tuplas sobre redes P2P.

    \item modelagem e simulação da rede IMS, modelo tradicional e arquitetura proposta,
através de redes de petri coloridas, uma ferramenta excepcional para validação
de desempenho em sistemas distribuídos. 

  \end{enumerate}


%%----------------------------------------------------------------------------
% Organização do Texto
%
\section{Estrutura da Tese}

   O texto desta tese está estruturado da seguinte forma:  o \textbf{capítulo
\ref{cap:intro}} apresenta a introdução da tese; o \textbf{capítulo \ref{cap:IMS}}
apresenta a arquitetura IMS, detalhando os componentes e protocolos responsáveis pelo
controle de sessão; o \textbf{capítulo \ref{cap:TS}} apresenta os fundamentos de espaço de
tuplas. o \textbf{capítulo \ref{cap:trabalhos-relacionados}} apresenta os trabalhos
relacionados; o \textbf{capítulo \ref{cap:arquitetura}} apresenta a arquitetura baseada em
espaço de tuplas para redes IMS e a modelagem formal através de redes de petri coloridas;
o \textbf{capítulo \ref{cap:analise}} faz análise funcional através de espaço de estado e
a análise de desempenho através de simulações dos modelos CPN; por fim, o
\textbf{capítulo \ref{cap:conclusao}} discute os resultados e benefícios do trabalho, e
indica tópicos de pesquisa em aberto para potenciais trabalhos futuros.

   Em complemento ao texto da tese, foram adicionados três apêndices: o \textbf{apêndice
\ref{app:apendice-cpn}} apresenta uma introdução à modelagem e simulação com redes de
petri coloridas; o \textbf{apêndice \ref{app:apendice-monitores}} apresenta as funções de
monitoração utilizadas para coleta de dados das simulações; por fim, o \textbf{apêndice
\ref{app:apendice-modelo-cpn-default}} ilustra o modelo CPN representando a arquitetura
IMS padrão, utilizado para simulação e comparação com a arquitetura baseada em espaço de
tuplas.

   Em função da publicação de trabalho internacionais, algumas ilustrações e os modelos
CPN estão em Inglês.